package top.lixunda.ecommerce.server.good.api.entity.db;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author Xumda
 * @since 2019-12-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("store_master")
public class StoreMasterDO extends Model<StoreMasterDO> {

    private static final long serialVersionUID=1L;

    /**
     * 自动增长主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 系统账号id
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 系统账号名称
     */
    @TableField("user_name")
    private String userName;

    /**
     * 真实姓名
     */
    @TableField("master_name")
    private String masterName;

    /**
     * 真实年龄
     */
    @TableField("master_age")
    private Integer masterAge;

    /**
     * 身份证号
     */
    @TableField("id_card")
    private String idCard;

    /**
     * 身份证图片正面,url地址
     */
    @TableField("id_card_image_front")
    private String idCardImageFront;

    /**
     * 文件id
     */
    @TableField("id_card_image_front_file")
    private Integer idCardImageFrontFile;

    /**
     * 身份证图片背面,url地址
     */
    @TableField("id_card_image_back")
    private String idCardImageBack;

    /**
     * 文件id
     */
    @TableField("id_card_image_back_file")
    private Integer idCardImageBackFile;

    /**
     * 图片上传时间
     */
    @TableField("image_time")
    private LocalDateTime imageTime;

    /**
     * 身份证上的住址
     */
    @TableField("address")
    private String address;

    /**
     * 联系方式1
     */
    @TableField("phone1")
    private String phone1;

    /**
     * 联系方式2
     */
    @TableField("phone2")
    private String phone2;

    /**
     * 待审核，审核中，审核失败，审核通过
     */
    @TableField("state")
    private String state;

    /**
     * 状态描述，可以是审核失败原因
     */
    @TableField("state_desc")
    private String stateDesc;

    /**
     * 审核方式，系统自动审核，人工审核，主要是实名审核，可以使用面部识别等方式进行自动审核
     */
    @TableField("check_type")
    private String checkType;

    /**
     * 审核人员
     */
    @TableField("check_user_id")
    private Integer checkUserId;

    /**
     * 审核人员名称
     */
    @TableField("check_user_name")
    private String checkUserName;

    /**
     * 审核时间
     */
    @TableField("check_time")
    private LocalDateTime checkTime;

    /**
     * 店家信息是否删除, 1 可用 0 不可用
     */
    @TableField("useable")
    @TableLogic
    @JsonIgnore
    private Integer useable;

    /**
     * 备注信息
     */
    @TableField("remark")
    private String remark;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
